package com.example.demo.drools.executor;

import com.example.demo.drools.base.CheckResult;
import com.example.demo.drools.base.RuleFact;
import com.example.demo.drools.base.RuleSchema;

/**
 * 规则执行器
 */
public interface RuleExecutor {

	/**
	 * 执行规则
	 * @param ruleSchema  规则
	 * @param fact  事实
	 * @return
	 */
	public CheckResult excute(RuleSchema ruleSchema, RuleFact fact);
	
	
	/**
	 * 是否支持该执行器
	 * @param fact
	 * @return
	 */
	public Boolean support(RuleFact fact);

}
